/**
 * Created by PanJiaChen on 16/11/18.
 */

/**
 * @param {string} path
 * @returns {Boolean}
 */
export function isExternal(path) {
  return /^(https?:|mailto:|tel:)/.test(path)
}

/**
 * @param {string} str
 * @returns {Boolean}
 */
export function validUsername(str) {
  const valid_map = ['admin', 'editor']
  return valid_map.indexOf(str.trim()) >= 0
}

export function isPhone(val){
  const reg = /^1[3456789]\d{9}$/;
  return reg.test(val);
}

/**
 * @param {string} email
 * @returns {Boolean}
 */
 export function validEmail(email) {
  const reg = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
  return reg.test(email)
}

// 校验密码
export var validatePassword = (rule, value, callback) => {
  if (value.length < 6) {
      callback(new Error('密码长度不能少于六位'))
  } else {
      callback()
  }
}

// 校验手机号码
export var validPhone=(rule, value,callback)=>{
  if (!value){
      callback(new Error('请输入手机号码'))
  }else  if (!isPhone(value)){
    callback(new Error('请输入正确的11位手机号码'))
  }else {
      callback()
  }
}

// 校验邮箱
export var validemailRule=(rule, value,callback)=>{
  if (!value){
    return  callback(new Error('请输入邮箱'))
  }else{
    if (!validEmail(value)){
      callback(new Error('请输入正确的邮箱'));
      return;
    }
    callback()
  }
}
// 校验非必要电话
export var validnoNessPhone=(rule, value,callback)=>{
  if (!value){
    callback()
  }else  if (!isPhone(value)){
    callback(new Error('请输入正确的11位手机号码'))
  }else {
    callback()
  }
}

// 校验手机号与座机号
export var validPhonecall=(rule, value,callback)=>{
  var patrn = /^(([0-9]{3,4}[-])?[0-9]{7,8}$)/;
  if (!value){
    callback(new Error('请输入手机号码'))
  }else{
    if (value.indexOf("-")==-1 && !isPhone(value)){
      callback(new Error('请输入正确的11位手机号码'));
      return;
    }else if(value && !patrn.test(value)&& value.indexOf("-")>-1) {
      callback(new Error('请输入正确的座机号'));
      return;
    }
    callback()
  } 
}

// 不允许分号和空格
export var validPhonenoblank=(rule, value,callback)=>{
  var patrn = /\s/;//空格
  console.log('patrn.test(value):',patrn.test(value));
  if (!value){
    callback(new Error('请输入手机号码'))
  }else{
    if(value &&(patrn.test(value) || value.indexOf(";")>-1)) {
      callback(new Error('请检查是否包含空格或分号'));
      return;
    }
    callback()
  } 
}

export function phonehide(phone){
  return phone.substr(0, 3) + '****' + phone.substring(7, 11);
}


// 网址校验
export function isUrlLink(url){
  let reg = /http(s)?:\/\/([\w-]+\.)+[\w-]+(\/[\w- .\/?%&=]*)?/;
  return reg.test(url)
}


/**
 * 
 * @param {文件大小} fileSize 
 * @param {限制大小} overSize 
 */
 export function isOverSize(fileSize,overSize) {
  var size = Math.round(fileSize / 1024 * 100) / 100;
  if (size > overSize * 1024) {
    return true;
  } else {
    return false;
  }
}
